package cn.com.blueInfo.HaiYuan.business.purchase.mapper;

import cn.com.blueInfo.HaiYuan.business.purchase.entity.PurchaseStock;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 采购库存表
 * @ClassName: PurchaseStockMapper
 * @tableName: tj_hai_purchase_stock
 * @author suxch
 * @date 2019年4月23日  下午3:53:04
 */
@Mapper
public interface PurchaseStockMapper extends BaseMapper<PurchaseStock> {

    /**
     * 批量新增采购库存信息
     * @Title: batchAddPurchaseStockInfo
     * @param purchaseStockList
     * @return int
     * @throws
     */
    int batchAddPurchaseStockInfo(List<PurchaseStock> purchaseStockList);

    /**
     * 新增采购库存信息
     * @Title: addPurchaseStockInfo
     * @param purchaseStock
     * @return int
     * @throws
     */
    int addPurchaseStockInfo(PurchaseStock purchaseStock);

    /**
     * 批量删除采购库存信息
     * @Title: batchDelPurchaseStockInfoByUnids
     * @param purchaseStockUnids
     * @return int
     * @throws
     */
    int batchDelPurchaseStockInfoByUnids(ArrayList<String> purchaseStockUnids);

    /**
     * 删除采购库存信息
     * @Title: delPurchaseStockInfoByUnid
     * @param unid
     * @return int
     * @throws
     */
    int delPurchaseStockInfoByUnid(String unid);

    /**
     * 批量更新采购库存信息
     * @Title: batchUpdatePurchaseStockInfoByUnid
     * @param purchaseStockList
     * @return int
     * @throws
     */
    int batchUpdatePurchaseStockInfoByUnid(List<PurchaseStock> purchaseStockList);

    /**
     * 更新采购库存信息
     * @Title: updatePurchaseStockInfoByUnid
     * @param purchaseStock
     * @return int
     * @throws
     */
    int updatePurchaseStockInfoByUnid(PurchaseStock purchaseStock);

    /**
     * 分页查询采购库存信息
     * @Title: queryPurchaseStockInfo
     * @param paramMap
     * @return List<PurchaseStock>
     * @throws
     */
    List<PurchaseStock> queryPurchaseStockInfo(Map<String, Object> paramMap);

    /**
     * 查询采购库存信息
     * @Title: queryPurchaseStockInfo
     * @return List<PurchaseStock>
     * @throws
     */
    List<PurchaseStock> queryPurchaseStockInfo();

    /**
     * 条件查询采购库存信息数量
     * @Title: queryPurchaseStockInfoCount
     * @param paramMap
     * @return Integer
     * @throws
     */
    Integer queryPurchaseStockInfoCount(Map<String, Object> paramMap);

    /**
     * 查询采购库存信息数量
     * @Title: queryPurchaseStockInfoCount
     * @return Integer
     * @throws
     */
    Integer queryPurchaseStockInfoCount();

    /**
     * 查询采购库存最大排序编号
     * @Title: queryMaxOrderNumber
     * @return Integer
     * @throws
     */
    Integer queryMaxOrderNumber();

}
